package com.jiang.专题.动态规划.Q120;

import java.util.List;

/**
 * @author Jiang
 * @version 1.0
 * @date 2024/12/26 22:37
 */
class Solution {
    public int minimumTotal(List<List<Integer>> triangle) {
        for (int i = 1; i < triangle.size(); i++) {
            List<Integer> temp = triangle.get(i);
            for (int j = 0; j < temp.size(); j++) {
                if (j == 0) temp.set(j, temp.get(j) + triangle.get(i - 1).get(0));
                else if (j == temp.size() - 1) temp.set(j, temp.get(j) + triangle.get(i - 1).get(j - 1));
                else temp.set(j, temp.get(j) + Math.min(triangle.get(i - 1).get(j), triangle.get(i - 1).get(j - 1)));
            }
        }
        int res = Integer.MAX_VALUE;
        List<Integer> temp = triangle.get(triangle.size() - 1);
        for (int i = 0; i < temp.size(); i++) {
            if (res > temp.get(i)) {
                res = temp.get(i);
            }
        }
        return res;
    }
}
